home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Internet Info 1994 March
/
Internet Info CD-ROM (Walnut Creek) (March 1994).iso
/
inet
/
internet-drafts
/
draft-ietf-pppext-netbios-fcp-00.txt
< prev
next >
Wrap
Text File
|
1993-09-29
|
30KB
|
911 lines
Network Working Group T J Dimitri
Internet Draft Microsoft
expires in six months Sept 1993
The PPP NetBIOS Frames Control Protocol (NBFCP)
Status of this Memo
This document is the product of the Point-to-Point Protocol Working
Group of the Internet Engineering Task Force (IETF). Comments should
be submitted to the ietf-ppp@ucdavis.edu mailing list.
Distribution of this memo is unlimited.
This document is an Internet Draft. Internet Drafts are working
documents of the Internet Engineering Task Force (IETF), its Areas,
and its Working Groups. Note that other groups may also distribute
working documents as Internet Drafts.
Internet Drafts are draft documents valid for a maximum of six
months. Internet Drafts may be updated, replaced, or obsoleted by
other documents at any time. It is not appropriate to use Internet
Drafts as reference material or to cite them other than as a
``working draft'' or ``work in progress.''
Please check the 1id-abstracts.txt listing contained in the
internet-drafts Shadow Directories on nic.ddn.mil, nnsc.nsf.net,
nic.nordu.net, ftp.nisc.sri.com, or munnari.oz.au to learn the
current status of any Internet Draft.
Abstract
The Point-to-Point Protocol (PPP) [1] provides a method for
transmitting multi-protocol datagrams over point-to-point links. PPP
defines an extensible Link Control Protocol, and proposes a family of
Network Control Protocols for establishing and configuring different
network-layer protocols.
The NBF protocol was originally called the NetBEUI protocol and
was used in versions of DOS and OS/2 LAN Manager. It is now used
in Microsoft Windows NT and Microsoft Windows for Workgroups. This
document defines the Network Control Protocol for establishing and
configuring the NBF protocol over PPP.
Dimitri expires in six months [Page i]
DRAFT NBFCP September 1993
1. Introduction
PPP has three main components:
1. A method for encapsulating multi-protocol datagrams.
2. A Link Control Protocol (LCP) for establishing, configuring,
and testing the data-link connection.
3. A family of Network Control Protocols for establishing and
configuring different network-layer protocols.
In order to establish communications over a point-to-point link, each
end of the PPP link must first send LCP packets to configure and test
the data link. After the link has been established and optional
facilities have been negotiated as needed by the LCP, PPP must send
NBFCP packets to choose and configure the NBF network-layer protocol.
Once NBFCP has reached the Opened state, NBF datagrams can be sent
over the link.
The link will remain configured for communications until explicit LCP
or NBFCP packets close the link down, or until some external event
occurs (an inactivity timer expires or network administrator
intervention).
1.1. Specification of Requirements
In this document, several words are used to signify the requirements
of the specification. These words are often capitalized.
MUST This word, or the adjective "required", means that the
definition is an absolute requirement of the specification.
MUST NOT This phrase means that the definition is an absolute
prohibition of the specification.
SHOULD This word, or the adjective "recommended", means that there
may exist valid reasons in particular circumstances to
ignore this item, but the full implications should be
understood and carefully weighed before choosing a
different course.
MAY This word, or the adjective "optional", means that this
item is one of an allowed set of alternatives. An
implementation which does not include this option MUST be
prepared to interoperate with another implementation which
does include the option.
Dimitri expires in six months [Page 1]
DRAFT NBFCP September 1993
1.2. Terminology
This document frequently uses the following terms:
peer The other end of the point-to-point link.
silently discard
This means the implementation discards the packet without
further processing. The implementation SHOULD provide the
capability of logging the error, including the contents of
the silently discarded packet, and SHOULD record the event
in a statistics counter.
end-system A user's machine. It only sends packets to servers and
other end-systems. It doesn't pass any packets through
itself.
router Allows packets to pass through, usually from one ethernet
segment to another. Sometimes these are called
"intermediate-systems".
bridge Allows packets to pass through with the data field
unmodified. Usually from one ethernet segment to another
or from one ethernet segment to a token-ring segment.
gateway Allows packets to be sent from one network protocol to
the same or different network protocol. For example,
NetBIOS packets from an NBF network to a TCP/IP network
which has implemented RFC 1001 and RFC 1002.
2. A PPP Network Control Protocol for NBF
The NBF Control Protocol (NBFCP) is responsible for configuring,
enabling, and disabling the NBF protocol modules on both ends of the
point-to-point link. NBFCP uses the same packet exchange mechanism
as the Link Control Protocol. NBFCP packets may not be exchanged
until PPP has reached the Network-Layer Protocol phase. NBFCP
packets received before this phase is reached should be silently
discarded.
The NBF Control Protocol is exactly the same as the Link Control
Protocol [1] with the following exceptions:
Frame Modifications
The packet may utilize any modifications to the basic frame format
which have been negotiated during the Link Establishment phase.
Dimitri expires in six months [Page 2]
DRAFT NBFCP September 1993
Data Link Layer Protocol Field
Exactly one NBFCP packet is encapsulated in the Information field
of a PPP Data Link Layer frame where the Protocol field indicates
type hex 80D5 (NBF Control Protocol).
Code field
Only Codes 1 through 7 (Configure-Request, Configure-Ack,
Configure-Nak, Configure-Reject, Terminate-Request, Terminate-Ack
and Code-Reject) are used. Other Codes should be treated as
unrecognized and should result in Code-Rejects.
Timeouts
NBFCP packets may not be exchanged until PPP has reached the
Network-Layer Protocol phase. An implementation should be
prepared to wait for Authentication and Link Quality Determination
to finish before timing out waiting for a Configure-Ack or other
response. It is suggested that an implementation give up only
after user intervention or a configurable amount of time.
Configuration Option Types
NBFCP has a distinct set of Configuration Options.
2.1. Sending NBF Datagrams
Before any NBF packets may be communicated, PPP must reach the
Network-Layer Protocol phase, and the NBF Control Protocol must reach
the Opened state.
Unlesss otherwise negotiated, exactly one NBF packet is encapsulated
in the Information field of a PPP Data Link Layer frame where the
Protocol field indicates type hex 80D5 (NBF datagram).
An encapsulated NBF packet for PPP differs from the data field in
DIX ethernet (RFC 894) because NBF packets do not contain the source,
destination, or length fields in the datagram packet. Therefore,
the encapsulated NBF packet contains two extra octets in the
beginning of the PPP Information field. The most significant bit in
the first octet indicates whether the frame is directed or multicast.
The next 15 bits indicate the length of the rest of the NBF packet in
the Information field.
Dimitri expires in six months [Page 3]
DRAFT NBFCP September 1993
A summary of the NBF default encapsulation format is shown below.
The fields are transmitted from left to right.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|x| Length | Data ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
x
The x field is one bit and indentifies the type of NBF
packet. The two values for this field are assigned as follows:
0 NBF directed packet.
1 NBF multicast packet (IEEE 6 octet addesss 03-00-00-00-00-01).
Length
The Length field is 15 bits and indicates the length of
the Data field (excluding the two octets in the x and Length
fields). The Length field is encoded in big-endian format.
Octets outside the range of the Length field should be treated as
Data Link Layer padding and should be ignored upon reception.
When a packet is received with an invalid Length field, the packet
is silently discarded.
Data
The Data field is zero or more octets as indicated by the Length
field.
The maximum length of an NBF datagram transmitted over a PPP link is
the same as the maximum length of the Information field of a PPP data
link layer frame. Since there is no standard method for fragmenting
and reassembling NBF datagrams, PPP links supporting NBF MUST allow
at least 578 (576 + 2 for length and type) octets in the information
field of a data link layer frame. It is recommended that an
implementation allow 1502 (1500 + 2) octets in the information field.
3. NBFCP Configuration Options
NBFCP Configuration Options allow modifications to the standard
characteristics of the network-layer protocol to be negotiated. If a
Configuration Option is not included in a Configure-Request packet,
the default value for that Configuration Option is assumed.
Dimitri expires in six months [Page 4]
DRAFT NBFCP September 1993
NBFCP uses the same Configuration Option format defined for LCP [1],
with a separate set of Options.
Up-to-date values of the NBFCP Option Type field are specified in the
most recent "Assigned Numbers" RFC [2]. Current values are assigned
as follows:
1 Name-Projection
2 Server-Information
3 Auto-Disconnect-Time
4 Multicast-Filtering
5 Configuration-Complete
3.1. Name-Projection
Description
This Configuration Option provides a way to for a NetBIOS
gateway or bridge to learn the peer's NetBIOS names, attempt to
add all the NetBIOS names on the remote network, and report which
NetBIOS names, if any, could not be added to the remote network.
The sender of the Name-Projection Request packet states which
NetBIOS names are to be added. If this packet is recieved, the
peer MUST respond with a Configure-Ack, Configure-Nak, or
Configure-Reject packet.
Non NetBIOS Gateway implementations which do not care about
the peer's NetBIOS names MUST Configure-Reject all Name-Projection
Requests.
NetBIOS Gateway implementations MUST respond with Configure-Ack
if one or more names were added and MUST respond with
Configure-Nak if no NetBIOS names could be added. The
Configure-Ack packet MUST contain the list of any NetBIOS names
which could not be added and a one octet Result field describing
the reason why the name could not be added. The Configure-Nak
packet MUST contain the list of all NetBIOS names send in the
Request packet as well as the reason why each of them could not
be added.
If the Configure-Ack packet is received then the peer MAY decide
to fail configuration depending on which NetBIOS names could not
be added.
If the Configure-Nak packet is received then the peer MUST fail
configuration.
Dimitri expires in six months [Page 5]
DRAFT NBFCP September 1993
If the Configure-Reject packet is received then the peer MAY
decide to fail configuration.
A summary of the Name-Projection Configuration Option format is
shown below. The fields are transmitted from left to right.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | 1st NetBIOS-Name
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 1st NetBIOS-Name (cont.)
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 1st NetBIOS-Name (cont.)
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 1st NetBIOS-Name (cont.)
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 1st NetBIOS-Name (cont.) | Added |2nd NetBIOS Name...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
1
Length
2 + (Number of NetBIOS names * 17)
NetBIOS-Names
This group of zero or more sixteen octet NetBIOS-Name fields
contains a list of all the NetBIOS names the peer wishes to add to
the remote network if the packet is Configure-Request. If the
packet is Configure-Reject, the peer does not support this
configuration option and it can be assumed that no NetBIOS names
were added.
Because the length field is only one octet only 14 NetBIOS names
can be added per Configure-Request packet. If more than 14
NetBIOS names should be added, more than one Name-Projection
Request packet will have to be sent.
Dimitri expires in six months [Page 6]
DRAFT NBFCP September 1993
Added
This is a one octet field which plays a dual role. The Added
field in the Name-Projection Request packet contains the type of
NetBIOS name added. A summary of name types is listed below.
01 Unique Name.
02 Group Name.
If the packet is NOT a Configure-Request the Added field contains
the NetBIOS return code for the NetBIOS Add Name or NetBIOS Add
Group Name command as defined in the NetBIOS 3.0 specification
[3]. A summary of common result codes is listed below in type
hex.
0D Duplicate name in local name table.
0E Name table full.
15 Name not found or cannot specify "*" or null.
16 Name in use on remote NetBIOS.
19 Name conflict detected.
30 Name defined by another environment.
35 Required system resources exhausted.
3.2. Server-Information
Description
This Configuration Option provides a way to obtain information
about the communications server providing the remote side of the
PPP connection.
The nature of this option is advisory only. It is provided as a
means of improving an end system's ability to provide information
to the peer about the remote side of the PPP connection for
User Interface or Logging purposes.
Dimitri expires in six months [Page 7]
DRAFT NBFCP September 1993
A summary of the Server-Information Option format is shown
below. The fields are transmitted from left to right.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Server-class |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Server-version (major) | Server-version (minor) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Server-name
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Server-name (cont.)
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Server-name (cont.)
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Server-name (cont.) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
2
Length
>=6
Server-class
The server-class field is two octets and indicates the class of
the communication server providing the remote end of the PPP
connection. This two octet quantity represents a 16 bit unsigned
number sent in big-endian fashion (most significant octet first).
Dimitri expires in six months [Page 8]
DRAFT NBFCP September 1993
Initial values are assigned as follows:
Value Class
1 Microsoft PPP NetBIOS Gateway Dial-In Server.
2 Generic PPP NetBIOS Gateway Dial-In Server.
3 Microsoft PPP Local Access Only Server.
4 Generic PPP Local Access Only Server.
5 Reserved.
6 Generic PPP NBF bridge.
Server-version
The Server-version field is four octets and indicates the version
of the communication server providing the remote end of the PPP
connection. The first two octets are the major version number
and the last two octets are the minor version number. The major
and minor version represent a 16 bit unsigned number sent in
big-endian fashion (most significant octet first).
Server-name
The 16-octet NetBIOS name of the server. If the length field
is 6, no server name is provided.
3.3. Auto-Disconnect-Timeout
Description
This Configuration Option provides a way to negotiate the use of
an auto disconnect timeout. It allows the sender of the
Configure-Request to state which value for the
Auto-Disconnect-Timeout is desired, or to request that the peer
provide the information. The peer can provide this information
by NAKing the option, and returning a valid
Auto-Disconnect-Timeout.
If negotiation about the remote Auto-Disconnect-Timeout is
required, and the peer did not provide the option in its
Configure-Request, the option SHOULD be appended to a
Configure-Nak.
Dimitri expires in six months [Page 9]
DRAFT NBFCP September 1993
By default, the peer is pre-configured to an administrator
assigned Auto-Disconnect-Timeout. A timeout value specified
as zero in a Configure-Request shall be interpreted as requesting
the remote end to specify a value via Configure-Nak. A timeout
value specified as zero in Configure-Nak shall be interpreted
as agreement that no value exists.
An implementation which cannot change its Auto-Disconnect-Timeout
MUST Configure-Nak all Auto-Disconnect-Timeout Requests and
return the Auto-Disconnect-Timeout value in the Configure-Nak
packet.
An implementation which does not have an Auto-Disconnect-Timeout
MUST Configure-Reject all Auto-Disconnect-Timeout Requests.
An implementation which requires the Requested
Auto-Disconnect-Timeout SHOULD fail configuration if the remote
side Configure-Rejects all Auto-Disconnect-Timeout requests, or
fails to provide the requested value.
Peers that do not establish NetBIOS sessions (for instance, peers
that transmit only multicast packets) SHOULD request an
Auto-Disconnect-Timeout of type hex FFFF so that there is no
Auto-Disconnect-Timeout.
Peers that configure multiple network layers SHOULD ignore
any Auto-Disconnect-Timeout since the timeout only pertains
to the NBF network layer, even if it is configured.
Dimitri expires in six months [Page 10]
DRAFT NBFCP September 1993
A summary of the Auto-Disconnect-Time Configuration Option format is
shown below. The fields are transmitted from left to right.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Timeout |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
3
Length
4
Timeout
The Timeout field is two octets and indicates the idle timeout
time in seconds for the link. If no NetBIOS session traffic
occurs for the duration of the timeout period specified, the link
will be dropped. The minimum value for this field is 60 (one
minute). A value of zero indicates that no timeout exists or that
the timeout is unknown. A value of hex type FFFF indicates that
the timeout is infinite. This two octet quantity represents
a 16 bit unsigned number sent in big-endian fashion (most
significant octet first).
3.4. Multicast-Filtering
Description
This Configuration Option provides a way to negotiate the use of
the Multicast-Forward-Rate and the Multicast-Priority. This
Configuration Option provides a way to negotiate how to handle
mulicast packets. It allows the sender of the Configure-Request
to state the desired handling of multicast packets, or to request
that the peer provide the information. The peer can provide this
information by NAKing the option, and returning a valid
Multicast-Paramters.
If negotiation about the remote Multicast-Filtering is required,
and the peer did not provide the option in its Configure-Request,
the option SHOULD be appended to a Configure-Nak.
Dimitri expires in six months [Page 11]
DRAFT NBFCP September 1993
By default, the peer is pre-configured to an administrator
assigned Multicast-Rate. A Multicast-Filtering value specified
as hex type FFFF in a Configure-Request shall be interpreted as
requesting the remote end to specify a value via Configure-Nak.
A Multicast-Forward-Rate value specified as hex type FFFF in
Configure-Nak shall be interpreted as agreement that no vlaue
exists. A Multicast-Forward-Rate of zero shall indicate that
all multicast packets SHOULD be forwarded.
An implementation which cannot change its Multicast-Filtering
MUST Configure-Reject all Multicast-Parameters Requests.
An implementation which requires the Requested Multi-Filtering
option SHOULD fail configuration if the remote side
Configure-Rejects all Multicast-Filtering requests, or fails to
provide the requested value.
Peers that rely on all multicast packets forwarded SHOULD
request a Multicast-Forward-Rate of zero and a Multicast-Priority
of one.
A summary of the Multicast-Filtering Configuration Option format is
shown below. The fields are transmitted from left to right.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Multicast-Forward-Rate |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Multicast-Priority |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
4
Length
6
Dimitri expires in six months [Page 12]
DRAFT NBFCP September 1993
Multicast-Forward-Rate
The Multicast-Forward-Rate field is two octets and indicates
the maximum rate in seconds at which multicast packets can be
sent. The maximum value for this field is 60 (one minute).
A value of zero indicates that there is no maximum rate at
which multicast packets can be sent. A value of hex type FFFF
indicates that the Multicast-Forward-Rate is unknown. This two
octet quantity represents a 16 bit unsigned number sent in
big-endian fashion (most significant octet first).
Multicast-Priority
The Multicast-Priority field is two octets and indicates if
multicast packets have priority over other packets when being
sent. A value of 0 indicates that directed packets have
priority. A value of 1 indicates that multicast packets have
priority.
3.6. Configuration-Complete
Description
This Configuration Option provides a way to indicate that all
implementation-dependent Desired Parameters are satisfied. It is
provided as a means of detecting when convergence will occur in a
heterogeneous environment.
This option SHOULD be included in a Configure-Request when the
combination of statically configured parameters and offered
Configuration Options will result in successful configuration.
The nature of this option is advisory only. This option MUST NOT
be included in a Configure-Nak.
Dimitri expires in six months [Page 13]
DRAFT NBFCP September 1993
A summary of the Configuration-Complete Option format is shown
below. The fields are transmitted from left to right.
0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
5
Length
2
Security Considerations
Security issues are not discussed in this memo.
References
[1] Simpson, W. A., "The Point-to-Point Protocol (PPP)", RFC 1331,
May 1992.
[2] Reynolds, J.K., Postel, J.B., "Assigned Numbers", RFC 1340,
July 1992.
[3] IBM Corp., "IBM Local Area Network Technical Reference",
Third Edition, November 1988.
Acknowledgments
Some of the text in this document is taken from previous documents
produced by the Point-to-Point Protocol Working Group of the Internet
Engineering Task Force (IETF).
This document is derivative of drafts written by the following
people. Many thanks for their work, and for taking an initial stab
at the protocol:
TBA.
Dimitri expires in six months [Page 14]
DRAFT NBFCP September 1993
Chair's Address
The working group can be contacted via the current chair:
Fred Baker
Advanced Computer Communications
315 Bollay Drive
Santa Barbara, California, 93111
EMail: fbaker@acc.com
Author's Address
Questions about this memo can also be directed to:
Thomas J. Dimitri
Microsoft Corporation
1 Microsoft Way
Redmond, WA 98052
EMail: tommyd@microsoft.com
Dimitri expires in six months [Page 15]
DRAFT NBFCP September 1993
Table of Contents
1. Introduction .......................................... 1
1.1 Specification of Requirements ................... 1
1.2 Terminology ..................................... 2
2. A PPP Network Control Protocol for NBF ................ 2
2.1 Sending NBF Datagrams ........................... 3
3. NBFCP Configuration Options ........................... 4
3.1 Name-Projection.................................. 5
3.2 Server-Information............................... 7
3.3 Auto-Disconnect-Time............................. 9
3.4 Multicast-Filtering.............................. 11
3.5 Configuration-Complete........................... 13
SECURITY CONSIDERATIONS ...................................... 14
REFERENCES ................................................... 14
ACKNOWLEDGEMENTS ............................................. 14
CHAIR'S ADDRESS .............................................. 15
AUTHOR'S ADDRESS ............................................. 15